// 菜单项配置
export interface MenuItem {
  label: string
  value: string | number
  icon?: string
  disabled?: boolean
  divided?: boolean
  children?: MenuItem[]
}

// 菜单配置选项
export interface MenuOptions {
  items: MenuItem[]
  mode?: 'horizontal' | 'vertical'
  collapse?: boolean
  backgroundColor?: string
  textColor?: string
  activeTextColor?: string
  defaultActive?: string | number
  defaultOpeneds?: string[]
  uniqueOpened?: boolean
  menuTrigger?: 'hover' | 'click'
  collapseTransition?: boolean
  router?: boolean
  popperClass?: string
  popperStyle?: Record<string, any>
}

// 菜单事件
export interface MenuEvents {
  'update:modelValue': (value: string | number) => void
  select: (value: string | number) => void
  open: (value: string[]) => void
  close: (value: string[]) => void
}
